
/* GCSx
** ALL.H
**
** All header files we use; this can be turned into pre-compiled headers
** if your platform supports it
*/

/*****************************************************************************
** Copyright (C) 2003-2006 Janson
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
** 
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
*****************************************************************************/

#ifndef __GCSx_ALL_H_
#define __GCSx_ALL_H_

// X11 has a Window type; we silently rename ours to prevent collisions
#define Window _Window

// (version information)
#include "../GCSx_private.h"

// Self-contained libraries, includes some datatypes
#include "SDL.h"

#define ZLIB_DLL
#include "zlib.h"

// Datatypes
#include <string>
#include <list>
#include <vector>
#include <map>
#include <set>
#include <stdarg.h>
#include "gcsx_exception.h"
#include "gcsx_datatype.h"
#include <ext/hash_map>
using __gnu_cxx::hash_map;
using __gnu_cxx::hash;
#include "gcsx_rundata.h"

// Memory/asserts
#include <new>
#include "gcsx_mem.h"
#include <assert.h>

// OpenGL- this also does windows.h as shown hence disabled
#include "SDL_opengl.h"
//#ifdef WIN32
//#define WIN32_LEAN_AND_MEAN
//#include <windows.h>
//#endif

// Basic defines
#include "SDL_ttf.h"
#include "gcsx_define.h"
#include "gcsx_graphics.h"

// Basic classes
#include "gcsx_file.h"
#include "gcsx_load.h"
#include "gcsx_save.h"

#include "gcsx_gui.h"
#include "gcsx_dialog.h"
#include "gcsx_editbox.h"
#include "gcsx_treeview.h"
#include "gcsx_list.h"

#include "gcsx_colorselect.h"
#include "gcsx_imgselect.h"
#include "gcsx_toolselect.h"

#include "gcsx_imgdialog.h"

// Some dependencies here
#include "gcsx_bytecode.h"
#include "gcsx_undo.h"
#include "gcsx_world.h"
#include "gcsx_worldedit.h"
#include "gcsx_entity.h"
#include "gcsx_sprite.h"
#include "gcsx_scene.h"
#include "gcsx_sceneedit.h"
#include "gcsx_tileset.h"
#include "gcsx_tilesetedit.h"
#include "gcsx_layer.h"
#include "gcsx_layeredit.h"

// All other files
#include "gcsx_animgroup.h"
#include "gcsx_animgroupedit.h"
#include "gcsx_animgrouppaint.h"
#include "gcsx_animgroupprop.h"
#include "gcsx_clipboard.h"
#include "gcsx_color.h"
#include "gcsx_compile.h"
#include "gcsx_config.h"
#include "gcsx_console.h"
#include "gcsx_debug.h"
#include "gcsx_editor.h"
#include "gcsx_event.h"
#include "gcsx_filedialog.h"
#include "gcsx_folder.h"
#include "gcsx_frame.h"
#include "gcsx_frontend.h"
#include "gcsx_game.h"
#include "gcsx_imgchoose.h"
#include "gcsx_importimg.h"
#include "gcsx_layerlist.h"
#include "gcsx_layerprop.h"
#include "gcsx_mouse.h"
#include "gcsx_opengl.h"
#include "gcsx_popup.h"
#include "gcsx_progress.h"
#include "gcsx_resolution.h"
#include "gcsx_sceneeditlayer.h"
#include "gcsx_sceneprop.h"
#include "gcsx_script.h"
#include "gcsx_scriptedit.h"
#include "gcsx_scripteditor.h"
#include "gcsx_scriptprop.h"
#include "gcsx_slider.h"
#include "gcsx_spawn.h"
#include "gcsx_spawnedit.h"
#include "gcsx_spawnprop.h"
#include "gcsx_texture.h"
#include "gcsx_tilesetbrowse.h"
#include "gcsx_tilesetpaint.h"
#include "gcsx_tilesetprop.h"
#include "gcsx_tokenize.h"
#include "gcsx_tooltip.h"
#include "gcsx_worldplay.h"
#include "gcsx_worldprop.h"
#include "gcsx_wpreview.h"
#include "gcsx_wscroll.h"

// Other libraries
#include "SDL_image.h"
#include "sge_primitives.h"
#include "sge_rotation.h"
#include "sge_surface.h"

// Other standard headers
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <cstddef>
#include <exception>
#include <typeinfo>

using namespace std;

#endif
